From: Matthew Daley Date: Sun, 1 Dec 2013 10:15:03 +0000 (+1300) Subject: libxl: don't leak pcidevs in libxl_pcidev_assignable X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~5827 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=26b35b9ace97f433fcf4c5dfbdfb573d1075255f;p=xen.git libxl: don't leak pcidevs in libxl_pcidev_assignable Coverity-ID: 1055896 Signed-off-by: Matthew Daley Acked-by: Ian Jackson --- diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c index 095d5643d9..2e5247031a 100644 --- a/tools/libxl/libxl_pci.c +++ b/tools/libxl/libxl_pci.c @@ -1021,11 +1021,10 @@ static int libxl_pcidev_assignable(libxl_ctx *ctx, libxl_device_pci *pcidev) pcidevs[i].bus == pcidev->bus && pcidevs[i].dev == pcidev->dev && pcidevs[i].func == pcidev->func) - { - return 1; - } + break; } - return 0; + free(pcidevs); + return i != num; } int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting)